home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs47.d81
/
64alv1a.sfx
/
seqfile.txt
< prev
next >
Wrap
Text File
|
1990-02-12
|
13KB
|
320 lines
* ╙┼╤╒┼╬╘╔┴╠ ╘┼╪╘ ╞╔╠┼╙ *
┬Y ┴NDY ╙KELTON
┴DAPTED FROM THE WORKSHOP,
"╨ROGRAMMING ╙EQUENTIAL ╞ILES"
PRESENTED AT THE 2ND ┴NNUAL ═┴╥├┴
├OMMODORE ╒SERS ╞AIR 7/27/85
(├)├OPYRIGHT 1985 BY ╩.┴. ╙KELTON.
╔NTRODUCTION: ╞ILES AND THEIR ╒SES
----------------------------------
├OMMODORE COMPUTERS SUPPORT FOUR TYPES OF FILES:
╨╥O╟RAM,
╙┼╤UENTIAL,
╥┼╠ATIVE (RANDOM ACCESS), AND
╒╙E╥- DEFINED FILES.
╫E'RE ALL PRETTY FAMILAR WITH ╨╥O╟RAM FILES; THESE MAKE OUR COMPUTERS DO
WHAT THEY DO. ╫E'RE ALSO QUITE ╒╬FAMILIAR WITH ╒╙E╥ FILES, AND WE'RE
LIKELY TO REMAIN SO UNLESS WE GET INTO SERIOUS PROGRAMMING APPLICATIONS;
BECAUSE THE STRUCTURE AND CONTENT OF ╒╙╥ FILES ARE ENTIRELY DETERMINED BY
THE PROGRAMMER AND FEW GENERAL STATEMENTS CAN BE MADE.
╔'VE SEEN ╒╙╥ FILES IN GUISES RANGING FROM COMPILED VERSIONS OF ┬┴╙╔├
PROGRAMS TO THE TEXT OF A FEW OBSCURE WORD PROCESSORS TO THE TITLES OF THE
"PSEUDO" FILES CREATED BY ─AVID'S ─IRECTORY ─ESIGNER.
╘HIS LEAVES ╙┼╤UENTIAL AND ╥┼╠ATIVE FILES. ┬Y THEMSELVES, NEITHER CAN MAKE
YOUR COMPUTER DO ANYTHING BUT, THEY ╙╘╧╥┼ DATA.
┬OTH TYPES CAN STORE STRUCTURED DATA, E.G., INFORMATION IN A MAILING LIST OR
DATA BASE, ┬UT ONLY ╙┼╤UENTIAL FILES CAN STORE UNSTRUCTURED TEXT, E.G., WORD
PROCESSOR FILES.
┴ DATA FILE IS "STRUCTURED" WHEN IT'S INTERNALLY ORGANIZED INTO ╥ECORDS AND
╞IELDS; E.G., A FILE OF STUDENTS' GRADES FOR A SEMESTER IS ORGANIZED AROUND
INDIVIDUAL STUDENTS (╥ECORDS), AND EACH STUDENT HAS THE SAME NUMBER OF
GRADES (╞IELDS) AS ANY OTHER STUDENT.
┴ TEXT FILE IS 'ORGANIZED' ONLY TO THE DEGREE THAT PARAGRAPHS, SENTENCES,
AND WORDS IMPOSE A KIND OF MINIMAL ORGANIZATION; BUT THERE'S NO REQUIREMENT
THAT EACH PARAGRAPH HAVE THE SAME NUMBER OF SENTENCES OR EACH SENTENCE THE
SAME NUMBER OF WORDS.
╘HE PRESENT WORK IS CONCERNED WITH HOW ╙┼╤ TEXT FILES CAN BE USED IN
CONJUNCTION WITH EXECUTING PROGRAMS.
╘EXT ╞ILES IN ╨ROGRAMS: ╫HY?
----------------------------
┴ CONVENIENT ATTRIBUTE OF ╙┼╤ FILES IS THAT THEY CAN BE STORED ON DISK OR
TAPE. ┴NOTHER ADVANTAGE IS THAT ╙┼╤ FILES ARE "COMMON CURRENCY" IN THE
WORLD OF COMPUTING; A ╙┼╤ FILE CREATED ON A ├OMMODORE COMPUTER AND THEN
UPLOADED TO AN ┴PPLE, AN ╔┬═, A ╘╥╙-80, OR EVEN A MAINFRAME CAN BE READ BY
THOSE COMPUTERS WITH MINIMAL HASSLES.
╘HE UNIVERSALITY OF ╙┼╤ FILES IS WHY ╔ CAN SAY WRITE A SHORT HANDOUT FOR
ONE OF MY CLASSES USING ┼ASY ╙CRIPT, SEND THE FILE VIA MODEM TO THE ╓┴╪
COMPUTER AT MY COLLEGE, AND HAVE THE ╓┴╪ PRINT 40 COPIES ON A HIGHSPEED
PRINTER.
╙UCH ADVANTAGES ARE GENERIC; THEY DON'T TELL YOU WHY ╙┼╤ FILES CAN BE
ESPECIALLY HELPFUL IN PROGRAMMING. ╙O, LET'S GET MORE SPECIFIC.
╫HEN YOU WRITE A PROGRAM INTENDED FOR USE BY OTHER PEOPLE, YOU INCLUDE
ON-SCREEN INSTRUCTIONS FOR THE USER. ┬UT WHEN INSTRUCTIONS ARE LONG AND
COMPLICATED, IT'S VERY TEDIOUS TO USE ╨╥╔╬╘ COMMANDS TO PRESENT THEM. ╫HO
HASN'T EXPERIENCED THE "JOY" OF INSERTING AND DELETING SPACES BETWEEN WORDS
SO THAT THESE WILL SHOW UP PROPERLY ON THE 40-COLUMN SCREEN?
╫HAT ABOUT THE "PLEASURE" OF EDITING A ╨╥╔╬╘ COMMAND LINE AND GETTING STUCK
IN 'QUOTE MODE', SO THAT EVERYTHING YOU TYPE COMES OUT AS A GRAPHICS
CHARACTER? ╞UN, RIGHT?
╔ USED TO WRITE PROGRAMS IN JUST THAT WAY UNTIL ╔ DISCOVERED A MUCH EASIER
METHOD: ╔ TYPE THE INSTRUCTIONS WITH MY WORD PROCESSOR AND SAVE THEM AS A
╙┼╤ FILE. ╘HEN, WHEN ╔ WANT TO PRESENT ON-SCREEN HELP TO THE USER, ╔ TELL
THE PROGRAM TO DISPLAY THE FILE ON THE SCREEN.
├ONSIDER THIS NEWSLETTER: ╥IGHT NOW IF YOU READ THIS ARTICLE FROM DISK, YOUR
READING -- A ╙┼╤ FILE -- FROM YOUR DISK AND DISPLAYING IT ON YOUR SCREEN
OR PRINTER. ╘HE VERY CONCEPT OF A NEWSLETTER ON DISK DEPENDS ON THE ABILITY
TO READ AND DISPLAY ╙┼╤ FILES FROM WITHIN AN ONGOING PROGRAM.
╘HE NEWSLETTER IDEA ALSO SHOWS ANOTHER WAY ╙┼╤ FILES CAN BE USED IN PROGRAMS:
AS WAYS OF PASSING INFORMATION WHICH THE PROGRAM CAN USE FOR FURTHER
OPERATIONS. ╬OT ONLY ARE ARTICLES ON THIS DISK A ╙┼╤ FILE, SO ARE MANY OF
THE MENUS AND SUBMENUS. ╘HE MAIN ╬EWSLETTER MENU LETS YOU CHOOSE FROM AMONG
═┼╬╒╙
┴╥╘╔├╠┼╙
╨╥╧╟╥┴═ ╔╬╙╘╥╒├╘╔╧╬╙
ETC.
╔F YOU SELECT ╞┼┴╘╒╥┼ ┴╥╘╔├╠┼╙, YOU POP TO A SUBMENU WHICH SHOWS THE TITLES
OF THE ARTICLES ON THIS DISK. ╘HE LIST OF TITLES ON YOUR SCREEN IS
CONTAINED IN A ╙┼╤ FILE CALLED "┴╥╘╔├╠┼╙". ╫HEN YOU FIRST RUN THE ═┼╬╒
PROGRAM, IT READS THIS FILE; THEN, THE ═┼╬╒ DISPLAYS THE TITLES WHEN YOU
SELECT THE ┴╥╘╔├╠┼╙ SUBMENU. ╫HEN YOU SELECT AN ARTICLE, THE PROGRAM
DISPLAYS THAT ARTICLE.
╘HERE ARE MANY GOOD REASONS TO LEARN HOW TO INTEGRATE ╙┼╤ FILES INTO YOUR
PROGRAMMING. ╠ET'S LOOK AT HOW IT'S DONE.
╙TEPS IN ╥EADING ╞ILES
------------------------
╥EADING A ╙┼╤ FILE INCLUDES THE FOLLOWING STEPS:
1) ┘OU ╧╨┼╬ THE FILE. ╔F YOU WANT TO READ DATA FROM THE FILE, A TYPICAL
COMMAND IS:
100 ╧╨┼╬ 3,8,3,"╘┼╪╘,╙,╥"
╘HIS TELLS THE PROGRAM TO ACCESS AN ALREADY EXISTING FILE CALLED ╘┼╪╘. ╘HE
",╙,╥" PART OF THE COMMAND INDICATES THAT ╘┼╪╘ IS A ╙┼╤ FILE TO BE ╥EAD
INTO MEMORY. ╘HE NUMBERS "3,8,3" INDICATE THE FILE IS TO BE ASSIGNED FILE
NUMBER 3 ON DEVICE NUMBER 8 (THE DISK DRIVE) AND BE READ OVER CHANNEL 3.
╘HE FILE NUMBER IS ARBITRARY -- ANY NUMBER UP TO 255 WILL DO (** ╬╧╘┼:FILE
NUMBERS OVER 127 WILL COME OUT DOUBLE SPACED....┼─.) ╘HE DEVICE NUMBER IS
MANDATORY --
8 FOR A FILE ON DISK AND
1 FOR A FILE ON TAPE.
╘HE CHANNEL NUMBER ON A DISK DRIVE IS ANY NUMBER FROM 2 TO 14, BUT IT'S
EASIEST TO USE THE SAME NUMBER AS THE FILE NUMBER; IF YOU USE A ─ATASETTE,
THE CHANNEL NUMBER MUST BE 0.
2) ┘OU READ INFORMATION FROM THE FILE WITH THE COMMANDS, ╟┼╘# OR ╔╬╨╒╘#.
╞OR TEXT FILES, ╟┼╘# IS PREFERABLE.
3) ╫HEN THE END OF THE FILE IS ENCOUNTERED, YOU ├╠╧╙┼ IT.┼.G.:
130 ├╠╧╙┼ 3
╞OLLOW THESE THREE STEPS ANY TIME YOU WANT TO OBTAIN INFORMATION FROM A ╙┼╤
FILE WHICH ALREADY EXISTS.
╞ETCH AND ─ISPLAY
-----------------
╘┼╪╘ IS AN UNSTRUCTURED FILE, SO HOW DO WE READ AND DISPLAY ITS CONTENTS?
╫HAT ARE THE DETAILS OF STEP 2 ABOVE? ╘HESE PROGRAM LINES DO IT:
110 ╟┼╘# 3,┴$:╨╥╔╬╘ ┴$;
120 ╔╞ ╙╘<>64 ╘╚┼╬ ╟╧╘╧ 110
╘HE LOGIC IS SIMPLE: WE DON'T KNOW HOW MANY CHARACTERS ARE IN ╘┼╪╘. ╙O WE
TELL THE PROGRAM TO ╟┼╘ A CHARACTER (┴$), FROM ╘┼╪╘ (WHICH WE'VE DESIGNATED
AS FILE # 3) AND ╨╥╔╬╘ THE CHARACTER ON THE SCREEN (LINE 110). ╬OTE THAT
THE SEMICOLON INSURES THAT THE CHARACTERS PRINT ┴├╥╧╙╙ YOUR SCREEN.
╘HEN, THE PROGRAM CHECKS FOR THE VALUE OF A VARIABLE CALLED ╙╘ATUS (LINE
120). ╙╘ IS A RESERVED, OR SYSTEM VARIABLE; ITS ROLE IS TO CHECK ON THE
PROGRESS OF INPUT - OUTPUT OPERATIONS.
╫HEN ┬┴╙╔├ ENCOUNTERS THE END OF A DATA FILE, IT ASSIGNS A VALUE OF 64 TO
╙╘. ╘HUS, ╙╘ CAN BE USED TO DETECT THE END OF A FILE.
┴S LONG AS ╙╘ IS ╬╧╘ 64, LINE 120 SENDS THE PROGRAM BACK TO LINE 110, TO
FETCH AND DISPLAY ANOTHER CHARACTER FROM THE FILE.
╫ITH THE FOUR PROGRAM LINES (100-130), YOU CAN READ AND DISPLAY ANY ╙┼╤
TEXT FILE!
-- REMEMBER TO CHANGE THE FILE NAME IN THE ╧╨┼╬ COMMAND!
╒SE IN ╨ROGRAMS
---------------
┼XTENDING THESE OPERATIONS INTO MORE COMPLEX PROGRAMS IS EASY. ╠INES 100-
130 CAN BE INCORPORATED AS A SUBROUTINE IN ANY PROGRAM. ╫HEN YOU WANT TO
DISPLAY A TEXT FILE FROM THE PROGRAM, SEND THE PROGRAM TO THE SUBROUTINE.
╬ATURALLY, YOU'D HAVE A WAY TO INDICATE THE NAME OF THE ╙┼╤ FILE THAT'S TO
BE DISPLAYED. ┼.G., CONSIDER THESE LINES FROM A HYPOTHETICAL SWORD-AND-
SORCERY ADVENTURE:
10 ╥┼═**─╔╙╨╠┴┘ ╙╘┴╥╘ ╔╬╙╘╥╒├╘╔╧╬╙**
15 ╨╥╔╬╘"─╧ ┘╧╒ ╫┴╬╘ ╘╧ ╙┼┼
╔╬╙╘╥╒├╘╔╧╬╙";:╔╬╨╒╘ ┘$
20 ╔╞ ┘$="┘"╘╚┼╬ ╞╠$="╔╬╙╘╥╒├╘╔╧╬╙"
:╟╧╙╒┬ 100
25 ╥┼═***─╔╙╨╠┴┘ ├╚┴╥┴├╘┼╥
─┼╙├╥╔╨╘╔╧╬╙***
30 ╨╥╔╬╘"╫╚╔├╚ ├╚┴╥┴├╘┼╥"*RM91:LM50
35 ╨╥╔╬╘"1 -- ┴╟╫╧╥ ╘╚┼ ╩╒╙╘
40 ╨╥╔╬╘"2 -- ├┴╙╔╧ ╘╚┼ ├╠┼╥╔├
45 ╨╥╔╬╘"3 -- ├┴╙╙┴╬─╥┴ ╘╚┼ ═┘╙╘╔├
50 ╔╬╨╒╘"┘╧╒╥ ├╚╧╔├┼(1-3)";├
55 ╔╞ ├=1 ╘╚┼╬ ╞╠$="┴╟╫╧╥"
60 ╔╞ ├=2 ╘╚┼╬ ╞╠$="├┴╙╔╧"
65 ╔╞ ├=3 ╘╚┼╬ ╞╠$="├┴╙╙┴╬─╥┴"
70 ╟╧╙╒┬ 100:
99 ╥┼═***╞╔╠┼ ╥┼┴─┼╥ ╙╒┬╥╧╒╘╔╬┼***
100 ╧╨┼╬ 3,8,3,╞╠$+",╙,╥"
110 ╟┼╘# 3,┴$:╨╥╔╬╘ ┴$;
120 ╔╞ ╙╘<>64 ╘╚┼╬ ╟╧╘╧ 110
130 ├╠╧╙┼ 3
140 ╥┼╘╒╥╬
╘HE VALUE OF ╞╠$, A STRING VARIABLE WHICH HOLDS THE NAME OF THE FILE,
DETERMINES WHICH FILE IS READ BY THE SUBROUTINE. ╘HE VALUE OF ╞╠$, IN TURN,
DEPENDS UPON:
(1)WHERE YOU ARE IN THE PROGRAM, AND
(2)THE USER'S CHOICES.
┬Y ALLOWING THE NAME OF ╞╠$ TO VARY WITHIN THE PROGRAM, IT'S POSSIBLE TO
READ MORE THAN ONE FILE DURING THE PROGRAM'S OPERATION USING THE SAME
ROUTINE.
┬RASS ╘ACKS
-----------
╘O USE TEXT FILES FROM A PROGRAM, ╔ FIRST CREATE ALL THE TEXT FILES ╔ WANT
THE PROGRAM TO PRESENT. ╘HEN, ╔ WRITE ONE OR MORE SUBROUTINES TO READ AND
DISPLAY THE TEXT AT APPROPRIATE PLACES IN THE PROGRAM. ╠ET'S LOOK AT EACH
STEP.
├REATING ╘EXT ╞ILES:
--------------------
╠OAD ┼ASY ╙CRIPT, OR ANY OTHER WORD PROCESSOR THAT SAVES TEXT AS ╙┼╤ FILES.
╘YPE THE TEXT, AND SAVE IT. ╘O INSURE THAT THE TEXT IS PROPERLY FORMATTED
FOR A 40-COLUMN SCREEN DISPLAY, ╔ INCLUDE A CARRIAGE RETURN AT THE END OF
EACH LINE ╔ TYPE INTO ┼ASY ╙CRIPT. ┼.G.:
╔╬╙╘╥╒├╘╔╧╬╙ [╥┼╘╒╥╬]
--------------[╥┼╘╒╥╬]
╘HE FIRST THING THE PROGRAM ASKS[╥┼╘╒╥╬]
YOU TO ENTER IS YOUR NAME. ╘HEN,[╥┼╘╒╥╬]
THE PROGRAM PROMPTS FOR YOUR AGE[╥┼╘╒╥╬]
AND GRADE IN SCHOOL. ┴FTER THIS[╥┼╘╒╥╬]
INFORMATION IS ENTERED..........[╥┼╘╒╥╬]
╘HIS IS ═╒├╚ EASIER THAN USING ┬┴╙╔├ OR ├╧═┴╠ ╨╥╔╬╘ COMMANDS. ┴ND IT
GUARANTEES THERE'LL BE NO BROKEN WORDS AT THE END OF SCREEN LINES OR BLANK
COLUMNS AT THE BEGINNING OF LINES.
╫HAT IF YOUR WORD PROCESSOR DOES ╬╧╘ SAVE TEXT IN ╙┼╤ FILES?
╙OME ╫╨S (E.G., ╙PEED╙CRIPT, ╙CRIPT 64, ╨APER-CLIP> STORE TEXT AS ╨╥╟ FILES.
╘HE FILES AREN'T REALLY PROGRAMS; THE ╫╨ STORES TEXT IN "SCREEN CODE FORMAT".
┘OU CAN STILL USE THE TECHNIQUE ╔'M RECOMMENDING IF YOU HAVE A UTILITY
PROGRAM THAT TRANSLATES SCREEN-CODE ╨╥╟ FILES INTO ╙┼╤ FILES. ╘HERE IS A
PROGRAM CALLED ├ONVERT 64. ╔T TRANSLATES ╙PEED╙CRIPT FILES INTO ╙┼╤ FORM.
╔T MAY ALSO WORK WITH SCREEN-CODE FILES CREATED BY OTHER ╫╨S, BUT YOU'LL
HAVE TO CHECK THIS YOURSELF. ╔F YOU USE ╨APERCLIP (OR ╨APARBACK [╨OCKET]
╫RITER), YOU NEEDN'T GO TO THIS TROUBLE BECAUSE ╨APERCLIP LETS YOU CHOOSE
BETWEEN SAVING TEXT AS A ╨╥╟ OR A ╙┼╤ FILE; CHOOSE THE ╙┼╤ METHOD.
╥EAD/─ISPLAY ╙UBROUTINES:
-------------------------
╧NE OR MORE SUBROUTINES LIKE THE ONE SHOWN EARLIER CAN BE BUILT INTO YOUR
PROGRAM. ┘OU CAN ADD FEATURES TO PERMIT MORE CONTROLLED ON-SCREEN DISPLAYS.
╞OR EXAMPLE, YOU CAN INCLUDE A LINE-COUNTER VARIABLE SO THAT THE SCREEN
DISPLAY OF THE TEXT FILE TEMPORARILY HALTS AFTER A CERTAIN NUMBER OF LINES
ARE SHOWN [24 FOR ├OMMODORE]; THE DISPLAY RESUMES ONLY AFTER THE USER DOES
SOMETHING. ┼.G.:
99 ╥┼═ ***╞┴╬├┘ ╞╔╠┼ ─╔╙╨╠┴┘***
100 ╧╨┼╬ 3,8,3,╞╠$+",╙,╥":╠├=1
110 ╟┼╘#3, ┴$;╨╥╔╬╘ ┴$;
112 ╔╞ ┴$=├╚╥$(13) ╘╚┼╬ ╠├=╠├+1
114 ╔╞ ╠├/20=╔╬╘(╠├/20)╘╚┼╬╟╧╙╒┬200
120 ╔╞ ╙╘<>4 ╘╚┼╬ ╟╧╘╧ 110
130 ├╠╧╙┼ 3
140 ╥┼╘╒╥╬
199 ╥┼═ ***╨╥┼╙╙ ┴ ╦┼┘***
200 ╨╥╔╬╘"╨╥┼╙╙ ┴╬┘ ╦┼┘ ╘╧ ├╧╬╘╔╬╒┼"
210 ╟┼╘ ╥$:╔╞ ╥$=""╘╚┼╬ ╟╧╘╧ 210
220 ╨╥╔╬╘"<╙╚╔╞╘/├╠╥>"
230 ╥┼╘╒╥╬
╘HE LINE COUNTER, ╠├, IS INITIALIZED TO 1 IN LINE 100. ╫HENEVER THE FILE
READ SUBROUTINE ENCOUNTERS A CARRIAGE RETURN (WE'VE ALREADY MADE SURE
THERE'S A [╥┼╘╒╥╬] AT THE END OF EACH LINE), ╠├ INCREASES BY 1 (LINE 112).
╫HEN ╠├ REACHES A VALUE THAT CAN BE EVENLY DIVIDED BY 20, THE PROGRAM GOES
TO THE SUBROUTINE BEGINNING IN LINE 200. ╘HIS ROUTINE WAITS FOR YOU TO
PRESS A KEY. ╫HEN YOU DO, THE SCREEN IS CLEARED AND YOU RETURN TO THE EARLIER
SUBROUTINE, WHICH READS AND DISPLAYS 20 MORE LINES OF TEXT FROM THE ╙┼╤ FILE.
╘HIS IS USEFUL WHEN YOUR TEXT FILE IS TOO LONG TO FIT ONTO A SINGLE 25 LINE
SCREEN.
┘OU CAN PROBABLY THINK OF OTHER VARIATIONS. ╞OR INSTANCE, IN ITS CURRENT
FORM, THE FILE READER SUB-ROUTINE PUTS A NEW CHARACTER ON THE SCREEN AS SOON
AS THE CHARACTER IS READ FROM THE FILE. ╘HIS CAUSES THE CURSOR TO SCROLL
ACROSS YOUR SCREEN TO THE RIGHT, LEAVING LETTERS BEHIND IT.
╘HE SUBROUTINE CAN BE RE-WRITTEN SO AS NOT TO DISPLAY ANYTHING UNTIL A
COMPLETE LINE OF TEXT HAS BEEN READ FROM THE FILE.
┴NOTHER VARIATION CAN MAKE THE FILE READER ACT MUCH LIKE THE NEWSLETTER: ╬EW
LINES OF TEXT ARE DISPLAYED ONLY WHEN YOU PRESS A CERTAIN KEY. ┘OU CAN EVEN
CAUSE THE TEXT TO BE HELD IN MEMORY AND ONLY DISPLAYED AT A LATER POINT IN
THE PROGRAM, LIKE THE NEWSLETTER SUBMENUS.
╔ HOPE YOU'VE BEGUN TO GLIMPSE SOME OF THE POSSIBILITIES OF USING SEQUENTIAL
TEXT FILES WITHIN PROGRAMS. ╞EEL FREE TO MODIFY THE PROGRAM TO READ OTHER
FILES, OR INCORPORATE IT INTO YOUR OWN PROGRAMMING PROJECTS.
*****************************************************************************
┼─╔╘╧╥╙ ╬╧╘┼
------------
╘HE ABOVE FILE WAS WRITTEN TO GO IN A NEWSLETTER THAT USED DIFFERENT MENU
AND SUBMENU ROUTINES THAN THIS MAGAZINE DISK USES SO DON'T EXPECT IT TO
MATCH EXACTLY OUR ROUTINES USED HERE. ╔ HAVE NOT CHANGED IT BECAUSE ╔ FELT
OUR READERS WOULD LIKE TO SEE THE ARTICLE AS WRITTEN.